import { useEffect, useMemo, useState } from 'react';
import { TreeSelect, TreeSelectProps } from 'antd'
// import { useSelectedNode, useEditorStore } from '@rxdrag/minions-logicflow-editor'
import { getTreeData, ITreeData } from './utils'
// export function InputTree(props: TreeSelectProps & { isType?: boolean }) {
//     const store = useEditorStore();
//     const selectedNode = useSelectedNode()
//     const [value, $value] = useState(() => {
//         return store?.store.getState()
//     })
//     useEffect(() => {
//         const unsub = store?.subscribeChangeFlagChange(() => {
//             $value(store?.store.getState())
//         })
//         return () => {
//             unsub?.()
//         }
//     }, [store])
//     const options = useMemo(() => {
//         if (value?.lines?.length && selectedNode?.inPorts?.length) {
//             const typeData = selectedNode?.inPorts.map(item => {
//                 const source = value.lines.find(line => line.target.portId == item.id)?.source;
//                 const type = value.nodes?.find(node => node.id === source?.nodeId)?.outPorts?.find(port => port.id === source?.portId)?.type;
//                 return {
//                     ...item,
//                     type: type || { type: 'any' }
//                 }
//             }).filter(item => item.type);
//             const list: ITreeData = []
//             getTreeData({
//                 data: {
//                     type: 'object',
//                     properties: typeData.reduce((pre, next) => {
//                         pre[next.name] = next.type
//                         return pre
//                     }, {} as Record<string, unknown>)
//                 },
//                 list,
//                 isType: props.isType ?? true
//             });
//             return list
//         } else {
//             return []
//         }
//     }, [value, selectedNode])
//     return <TreeSelect allowClear showSearch treeDefaultExpandAll treeNodeLabelProp="value" {...props} treeData={options} />
// }

export function InputTree () {
    return <div>编排组件</div>
}
